
import config.ApplicationConfig;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.sql.SQLException;
import java.util.List;
import java.util.logging.Level;
import java.util.logging.Logger;
import javax.swing.JOptionPane;
import model.business.AcessoImpl;
import model.business.Interno;
import model.persistence.InternoDAO;
import model.persistence.PostgresTransactionManager;
import model.persistence.TransactionManager;

public class TESTE {

    public static void main(String[] args) throws CloneNotSupportedException, InstantiationException, IllegalAccessException, FileNotFoundException, IOException{

        ApplicationConfig teste = ApplicationConfig.getInstance();
        teste.getTransactionManager();

        







//        TransactionManager manager = new PostgresTransactionManager("postgres", "aBD2011", "sispred");
//        try{
//             manager.connect();
//
//             InternoDAO dao = (InternoDAO) manager.getDAO("INTERNO");
//             List<Interno> internos = dao.findInternos("Ativo");
//
//             for (Interno interno: internos) {
//                 System.out.println(interno.getNome());
//             }

             

             //INSERINDO ALGUEM
//             acesso = new AcessoImpl("juscelino", "123", "A");
//             manager.insert("ACESSO", acesso);
             

//             //ALTERANDO O NOME DE ALGUEM
//             medico = (MedicoImpl) manager.find("MEDICOS", new Integer(3)); //VERIFICAR SEMPRE NUMERO INTEGER
//             medico.setNome("Mariana da Silva Costa");
//             medico.setSexo("F");
//             medico.setCidade("Rio de Janeiro");
//             manager.update("MEDICOS", medico);
//
             //DELETANDO
//             acesso = (AcessoImpl) manager.find("ACESSO", new Integer(4));
//             manager.delete("ACESSO", acesso); //NOME DA TABELA, OBJETO USADO ATUALMENTE

             //FINALIZAR ALTERAÇÕES!!!
//             manager.commit();
//
//             manager.disconnect();
//        }catch(SQLException erro){
//            try {
//                //JOptionPane.showMessageDialog(null, erro.getMessage());
//                erro.printStackTrace();
//                manager.rollback();
//            } catch (SQLException ex) {
//                Logger.getLogger(TESTE.class.getName()).log(Level.SEVERE, null, ex);//criação do java, cria um arquivo de log
//            }
//        }catch(ClassNotFoundException erro){
//            JOptionPane.showMessageDialog(null, "Driver com o banco de dados não está instalado.");
//        }
//    }
//}
